import CodeView from '../../../shared/components/CodeView';
import DisplayColumn from '../../../shared/components/DisplayColumn';
import DisplayGrid from '../../../shared/components/DisplayGrid';
import Blockquote from '../../../shared/components/Blockquote';
import { getDisplayElementById } from '../../shared/helpers';
import * as Base from './base/example';

<div className="doc lead">
  Notifications serve as a feedback & confirmation mechanism that comes in at the top right.
</div>

<CodeView exampleOnly>
  {getDisplayElementById(Base.examples, 'stacked-2')}
</CodeView>

## About Notifications
The body of the notification is a clickable region that will prompt an additional browser tab with that record loaded and dismiss the notification. It is also dismissable by clicking the X icon.

### Implementation Notes

The first three notifications that appear on the page should stack on one another. The fourth notification will show slightly beneath the third notification. Any subsequent notifications won't show until earlier notifications are dismissed.

### Accessibility

Notifications should contain `role="dialog"` to signal to
assistive technology that they require the user’s immediate attention.

### Requirements
This notification will consist of the following:
  - Entity icon with background color
  - Subject field for the reminder
  - The time/date of when the event/task is occurring
  - An ‘X’ icon to dismiss the reminder

## Base

<CodeView>
  {getDisplayElementById(Base.default)}
</CodeView>

## Examples

### Task Notification
<CodeView>
  {getDisplayElementById(Base.examples, 'task-notification')}
</CodeView>

### Stacked Notifications
<CodeView>
  {getDisplayElementById(Base.examples, 'stacked-2')}
</CodeView>

### Three Stacked Notifications
<CodeView>
  {getDisplayElementById(Base.examples, 'stacked-3')}
</CodeView>

### Six Stacked Notifications
<CodeView>
  {getDisplayElementById(Base.examples, 'overflow-six')}
</CodeView>
